package services;

import java.util.ArrayList;
import javafx.scene.control.CheckBoxTreeItem;
import javafx.util.Pair;

public class Host {
    /*
     * ip - adres ip hosta
     * name - nazwa
     * pair - para zaznaczonych plików
     * file - pliki udostępnione
     * fileToCopy - pliki od hosta zdalnego wybrane do skopiowania
     */

    private String ip;
    private String name;
    private ArrayList<Pair<CheckBoxTreeItem<String>,CheckBoxTreeItem<String>>> pair;
   
    private ArrayList<ResearchFile> file;
    private ArrayList<ResearchFile> fileToCopy;
      private String MD5;


    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Host(String name, String ip) {
        /**
         * Be careful - check in wireshark type of host
         */
        setName(name);
        setIp(ip);
      //  setName(list.split("/")[0]);
      //  setIp(list.split("/")[1]);
    }

    public ArrayList<ResearchFile> getFile() {
        return file;
    }

    public void setFile(ArrayList<ResearchFile> file) {
        this.file = file;
    }

    /**
     * @return the fileToCopy
     */
    public ArrayList<ResearchFile> getFileToCopy() {
        return fileToCopy;
    }

    /**
     * @param fileToCopy the fileToCopy to set
     */
     public void setFileToCopy(ArrayList<ResearchFile> ListToCopy) {
        this.fileToCopy = ListToCopy;
    }
    
    public void setFileToCopy(ResearchFile fileToCopy) {
        this.fileToCopy.add(fileToCopy);
    }

    /**
     * @return the pair
     */
    public ArrayList<Pair<CheckBoxTreeItem<String>,CheckBoxTreeItem<String>>> getPair() {
        return pair;
    }

    /**
     * @param pair the pair to set
     */
      public void setPair( ArrayList<Pair<CheckBoxTreeItem<String>,CheckBoxTreeItem<String>>> pair) {
        this.pair = pair;
    }
    public void setPair(Pair<CheckBoxTreeItem<String>,CheckBoxTreeItem<String>> pair) {
        
        this.pair.add(pair);
    }
    public void removePair(Pair<CheckBoxTreeItem<String>,CheckBoxTreeItem<String>> pair) {
        this.pair.remove(pair);
    }

    /**
     * @return the MD5
     */
    public String getMD5() {
        return MD5;
    }

    /**
     * @param MD5 the MD5 to set
     */
    public void setMD5(String MD5) {
        this.MD5 = MD5;
    }
}
